<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			
			var arr = ["孙悟空", "贾宝玉", "燕青"];
			
			arr.forEach(function(value, index, obj){
				console.log(value);
				console.log(index);
				console.log(obj);
				console.log("\n");
			});
			
			var arr1 = ["孙悟空", "贾宝玉", "燕青", "李沁", "王力宏"];
			var arr2 =arr1.slice(1, 3); 
			console.log("arr2 = "+arr2);  // 贾宝玉,燕青
			
			var arr3 =arr1.slice(2, -2); 
			console.log("arr3 = "+arr3);  // 燕青
			
			var arr4 = arr1.splice(0, 2);
			console.log("arr4 = "+arr4);
			console.log(arr1);
			console.log("\n");
			
			/*
			 * 删除数组中重复元素
			 */
			var array = [1, 2, 2, 3, 1, 2, 3, 5, 4, 5];
			for(var i = 0; i < array.length - 1; i++){
				for(var j = i + 1; j < array.length; j++){
					if(array[i] == array[j]){
						array.splice(j, 1);
						j--;
					}
				}
			}
			console.log("array = "+array);
			console.log("\n");
			
			
			/*
			 * concat()可以连接两个或多个数组, 并将新的数组
			 * 	返回,该方法不会对原数组产生影响
			 */
			var newArr = arr.concat(arr2, arr3, "xiaomeinv");
			console.log("newArr = "+newArr);
			console.log(typeof newArr); 		// object
						
			
			/*
			 * 将数组转换为一个字符串
			 * 该方法不会对原数组产生影响, 而是将转换后的字符串作为结果返回
			 * 在join()中可以指定一个字符串作为参数, 这个字符串将变成数组中元素的连接符
			 */
			var newArr2 = newArr.join();	
			console.log("newArr2 = "+newArr2);
			console.log(typeof newArr2);		//string
			var newArr3 = newArr.join("-");
			console.log("newArr3 = "+newArr3);
			
			newArr.reverse();
			console.log("newArr = "+newArr);
			
			/*
			 * 可以用来对数组中的元素进行排序
			 * 会影响原数组, 默认会按照Unicode编码进行排序
			 * 对数字进行排序是, 可能会得到错误的结果
			 */
			newArr.sort();
			console.log(newArr);
			console.log("\n");
			
			/*
			 * 我们可以自己制定排血的规则
			 * 	我们可以在sort()添加一个回调函数, 来指定排序规则, 
			 * 		回调函数中需要定义两个形参, 
			 * 		浏览器会分别使用数组中的元素作为实参去调用回调函数,
			 * 		使用哪个元素不去定, 但是肯定的是在数组中a一定在b前面
			 * 	浏览器会根据回调函数的返回值来决定元素的顺序
			 * 		如果需要升序排列, 则返回a-b
			 * 		如果需要降序排列, 则返回b-a
			 */
			var arr7 = [5, 4, 6, 3, 7,1];
			arr7.sort(function(a, b){
				return a - b;
			});
			console.log("arr7 = "+arr7);
		</script>
	</head>
	<body>
	</body>
</html>
